3 research outputs found

    Experiments on Model-Based Software Energy Consumption Analysis Involving Sorting Algorithms

    Get PDF
    Although energy has become an important aspect in software development, little support exists for creating energy-efficient programs. One reason for that is the lack of abstractions and tools to enable the analysis of relevant properties involving energy consumption. This paper presents the results of some experiments involving the gathering, modelling, and analysis of energy-related information, in particular, the costs of executing certain parts of a software. We combine some existing free and open-source tools to carry out the experiments, extending one of them to handle energy information. Our experiments consider a comparison of energy consumption of Java implementations of the Bubble Sort, Insertion Sort and Selection Sort algorithms using different data structures. We show how to combine an energy measurement tool and a model analysis tool to carry such a comparison. Based on this support and on our experiments, we believe this is a first step to allow developers to start creating more energy-efficient software

    Modelando o Consumo Energético de Software para Análise de Eficiência Energética

    No full text
    Software energy consumption is becoming an essential issue during software develop ment and evolution, in particular, due to several restrictions imposed by platforms and application requirements. However, still little support exists to aid developers to under stand how some small factors can affect software energy efficiency. This mainly happens because of the absence of appropriate abstractions to model and analyse software energy behavior. This work proposes an approach to support the construction of energy behav ior models from code. For this, we developed a model called ELTS (Energy Labelled Transitions System), which is a Labelled Transition System (LTS) augmented with en ergy information. To build this model from Java code, we created the concept of basic energy unit (BET) that enables to associate parts of the code to elements of the ELTS. With this, we aim to guarantee traceability, which enables the identification of possible hotspots of energy in the code after an analysis of the model. We represent the semantics of the code in the model through relations between BETs, namely sequence, conditional and iteration. These relations enable a better understanding of the behavior when ana lyzing the model and represent the connections of its composing BETs, also facilitating model construction. In addition, we propose how to locally change the abstraction level of the model. Thus, a part of the model is only expanded if necessary, keeping the rest of the model as it is. We describe three experiments to demonstrate how to model programs using our approach, including basic model composition. This modelling strategy makes it possible to improve the analysis of energy consumption, thus possibly leading to better decisions regarding software energy efficiency. Representamos a semântica do código no modelo por meio de relações entre BETs, definidas como sequência, condicional e iteração. Essas relações possibilitam um melhor entendimento do comportamento ao analisar o modelo e representam as conexões das BETs que o compõem, facilitando também a construção do modelo. Além disso, propomos como alterar localmente o nível de abstração do modelo. Assim, uma parte do modelo só é expandida se necessário, mantendo o restante do modelo como está. Descrevemos três experimentos para demonstrar como modelar programas usando nossa abordagem, incluindo uma composição básica de modelos. Essa estratégia de modelagem possibilita melhorar a análise do consumo de energia, possivelmente levando a melhores decisões em relação à eficiência energética do software.O consumo de energia de software está se tornando uma questão essencial durante o de senvolvimento e evolução de software, em particular, devido às várias restrições impostas pelas plataformas e requisitos de aplicativos. No entanto, ainda existe pouco suporte para ajudar os desenvolvedores a entender como alguns pequenos fatores podem afetar a eficiência energética do seu software. Isso acontece principalmente devido à ausência de abstrações apropriadas para modelar e analisar o comportamento relacionado ao consumo de energia de um software. Este trabalho propõe uma abordagem para a construção de modelos de comportamento energético a partir de código. Para isso, propomos um mo delo chamado ELTS (Energy Labeled Transition System), que é um Labeled Transition System (LTS) que contém informações de custos de energia. Para construir este modelo a partir de código Java, criamos o conceito de unidade básica de energia (BET), que permite associar partes do código a elementos do ELTS. Com isso, visamos a garantir a rastreabi lidade, que possibilita a identificação de pontos específicos de gasto de energia no código após uma análise do modelo

    Experiments on Model-Based Software Energy Consumption Analysis Involving Sorting Algorithms

    No full text
    Although energy has become an important aspect in software development, little support exists for creating energy-efficient programs. One reason for that is the lack of abstractions and tools to enable the analysis of relevant properties involving energy consumption. This paper presents the results of some experiments involving the gathering, modelling, and analysis of energy-related information, in particular, the costs of executing certain parts of a software. We combine some existing free and open-source tools to carry out the experiments, extending one of them to handle energy information. Our experiments consider a comparison of energy consumption of Java implementations of the Bubble Sort, Insertion Sort and Selection Sort algorithms using different data structures. We show how to combine an energy measurement tool and a model analysis tool to carry such a comparison. Based on this support and on our experiments, we believe this is a first step to allow developers to start creating more energy-efficient software
    corecore